/*
 * IGenericDAO.java
 *
 * Created on October 4, 2007, 8:28 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package petstore.persistence;

import java.util.List;
import java.util.Map;
import petstore.model.BusinessObject;

/**
 *
 * @author Tom Hayden
 */
public interface IGenericDAO {
    
    public abstract Integer insert(BusinessObject businessObject);
    public abstract Integer update(BusinessObject businessObject);
    public abstract void remove(BusinessObject businessObject);
    public abstract BusinessObject findById(Class clazz, Integer id);
    public abstract List findByDescription(Class clazz, String description);
    public abstract List findByCriteria(String queryString);
    public abstract List findByCriteria(String queryString, Map params);
    public abstract List findByNamedQuery(String namedQuery);
    public abstract List findByNamedQuery(String namedQuery, Map params);
    public abstract List findAll(Class clazz);
    public abstract List executeNativeQuery(String queryString);
    
}
